import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { HomeComponent } from "./cpt/home/home.component";
import { RouterModule, Routes } from "@angular/router";
import { L10nModule } from "@/l10n/l10n.module";
import { BrowserModule } from "@angular/platform-browser";
import { MatModule } from "@/mat/mat.module";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { DepositComponent } from "./cpt/deposit/deposit.component";
import { WithdrawComponent } from "./cpt/withdraw/withdraw.component";
import { AssetsListsComponent } from "./cpt/assets-lists/assets-lists.component";
import { AddressComponent } from "./cpt/address/address.component";
import { HistoryComponent } from "./cpt/history/history.component";
import { NavComponent } from "./cpt/nav/nav.component";
import { AssetsRoutingModule } from "./assets-routing.module";
import { DepositHistoryComponent } from "./cpt/deposit-history/deposit-history.component";
import { WithdrawHistoryComponent } from "./cpt/withdraw-history/withdraw-history.component";
import { ActivityHistoryComponent } from "./cpt/activity-history/activity-history.component";
import { DetailComponent } from "./cpt/detail/detail.component";
import { DirectivesModule } from "@/directives/directives.module";
import { PipesModule } from "@/pipes/pipes.module";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { CptsModule } from "@/cpts/cpts.module";
import { NgxMatSelectSearchModule } from "ngx-mat-select-search";
import { CoinSelectComponent } from "./cpt/coin-select/coin-select.component";
import { StoreModule } from "@ngrx/store";
import * as fromAssets from "@/assets/store/reducers";
import { AssetsEffects } from "@/assets/store/effects/assets.effects";
import { EffectsModule } from "@ngrx/effects";
import { ClipboardModule } from "ngx-clipboard";
import { TextMaskModule } from "angular2-text-mask";

@NgModule({
  imports: [
    CommonModule,
    L10nModule,
    MatModule,
    AssetsRoutingModule,
    DirectivesModule,
    PipesModule,
    FormsModule,
    ReactiveFormsModule,
    CptsModule,
    NgxMatSelectSearchModule,
    ClipboardModule,
    TextMaskModule
    // StoreModule.forFeature("assets", fromAssets.reducers),
    // EffectsModule.forFeature([AssetsEffects])
  ],
  declarations: [
    HomeComponent,
    DepositComponent,
    WithdrawComponent,
    AssetsListsComponent,
    AddressComponent,
    HistoryComponent,
    NavComponent,
    DepositHistoryComponent,
    WithdrawHistoryComponent,
    ActivityHistoryComponent,
    DetailComponent,
    CoinSelectComponent
  ],
  entryComponents: [DetailComponent, AddressComponent]
})
export class AssetsModule {}
